package com.swanclouds.model.managers;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.swanclouds.model.DeviceEntity;
import java.util.List;
import java.util.Map;

public interface VirtualMedia extends DeviceEntity {

    /**
     * 虚拟媒体自定义资源属性
     * @return java.util.Map
     */
    Map<String,Object> getActions();

    /**
     * 虚拟媒体自定义信息
     * @return java.util.Map
     */
    Map<String,Object> getOem();

    /**
     * 虚拟媒介集合资源的访问路径
     * @return String
     */
    String getDataId();

    /**
     * 虚拟媒介集合资源的类型
     * @return String
     */
    String getType();

    /**
     * 虚拟ID拟媒介集合资源的
     * @return String
     */
    String getId();

    /**
     * 虚拟媒介集合资源的名称
     * @return String
     */
    String getName();


    /**
     * 媒体镜像类型，包括
     * CD
     * Floppy
     * USBStick
     * DVD
     * @return java.util.List
     */
    List<String> getMediaTypes();

    /**
     * 是否写保护
     * @return Boolean
     */
    @JsonProperty("WriteProtected")
    Boolean getWriteProtected();

    /**
     * 镜像名称
     * @return String
     */
    String getImageName();

    /**
     * 用户名
     * @return String
     */
    String getUserName();

    /**
     * 密码 查询时显示为null
     * @return String
     */
    String getPassword();

    /**
     * 是否插入
     *  true(插入)
     *  false(不插入)
     * @return Boolean
     */
    Boolean getInserted();

    /**
     * 连接方式
     *  NotConnected
     *  URI
     *  Applet
     *  Oem
     * @return String
     */
    String getConnectedVia();

    /**
     * 镜像URI
     * @return String
     */
    String getImage();
}
